/**
 * Fuzz 测试相关的类型定义
 */

/**
 * 源文件 GN 配置
 */
export interface SourceGNConfig {
    deps: string[];
    include_dirs: string[];
    external_deps: string[];
    configs: string[];
    defines: string[];
}

/**
 * 项目信息
 */
export interface ProjectInfo {
    subsystem: string;
    module: string;
    gniImport: string;
    pathVariable: string;
}

/**
 * Fuzzer 生成上下文
 */
export interface FuzzerContext {
    sourceFile: string;
    sourceCode: string;
    fuzzerDir: string;
    fuzzerName: string;
    projectRoot: string;
    projectInfo: ProjectInfo;
    sourceGNConfig: SourceGNConfig | null;
    buildGnContent: string;
}

/**
 * Fuzzer 目录结构
 */
export interface FuzzerStructure {
    fuzzerDir: string;
    projectRoot: string;
    fuzzTestDir: string;
    corpusDir: string;
}

/**
 * 解析后的文件信息
 */
export interface ParsedFile {
    filename: string;
    content: string;
    language: string;
}

/**
 * 文件生成结果
 */
export interface FileGenerationResult {
    success: boolean;
    filePath: string;
    fileSize: number;
    error?: string;
}

